package models;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author eagle_eye
 */
@Entity
@Table(name = "OBSERVADOR", catalog = "sischool2", schema = "")
@NamedQueries({
    @NamedQuery(name = "Observador.findAll", query = "SELECT o FROM Observador o"),
    @NamedQuery(name = "Observador.findByIdObservador", query = "SELECT o FROM Observador o WHERE o.idObservador = :idObservador"),
    @NamedQuery(name = "Observador.findByObservacion", query = "SELECT o FROM Observador o WHERE o.observacion = :observacion")})
public class Observador implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idObservador", nullable = false)
    private Integer idObservador;
    @Column(name = "observacion", length = 100)
    private String observacion;
    @JoinColumn(name = "estudianteId", referencedColumnName = "idEstudiante", nullable = false)
    @ManyToOne(optional = false)
    private Estudiante estudianteId;

    public Observador() {
    }

    public Observador(Integer idObservador) {
        this.idObservador = idObservador;
    }

    public Integer getIdObservador() {
        return idObservador;
    }

    public void setIdObservador(Integer idObservador) {
        this.idObservador = idObservador;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public Estudiante getEstudianteId() {
        return estudianteId;
    }

    public void setEstudianteId(Estudiante estudianteId) {
        this.estudianteId = estudianteId;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idObservador != null ? idObservador.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        if (!(object instanceof Observador)) {
            return false;
        }
        Observador other = (Observador) object;
        if ((this.idObservador == null && other.idObservador != null) || (this.idObservador != null && !this.idObservador.equals(other.idObservador))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "models.Observador[idObservador=" + idObservador + "]";
    }

}
